package com.infore.airsupervise.biz;

import com.infore.airsupervise.bean.MissionE;
import com.infore.airsupervise.bean.MissionHandleE;
import com.infore.airsupervise.http.BaseResponse;
import com.infore.airsupervise.http.OnServerResponseListener;

import java.util.List;

import retrofit2.Call;

/**
 * @features: 任务相关请求业务接口
 * @author: WuTao
 * @date: 2017/4/10 08:54
 */
public interface MissionBiz {

    /**
     * 获取任务列表 请求
     * @param userId
     * @param missionType
     * @param state
     * @param
     * @return
     */
     Call<BaseResponse> sendMissionListRequest(
             String userId, int missionType, String keyword, String startTime,String endTime,int state ,
             OnServerResponseListener<List<MissionE>> listener);

    /**
     * 获取发布任务列表 请求
     * @param userId
     * @param missionType
     * @param state
     * @param listener
     * @return
     */
    Call<BaseResponse> sendIssueMissionListRequest(
            String userId, int missionType, int state ,
            OnServerResponseListener<List<MissionE>> listener);

    /**
     *  提交任务
     * @param mn
     * @param issuePsonId
     * @param missionE
     * @param listener
     * @return
     */
    Call<BaseResponse> sendMissionCommitRequest(
            String mn, String issuePsonId, MissionE missionE ,
            OnServerResponseListener<BaseResponse> listener);

    /**
     * 获取任务处理流程相关信息
     * @param missionId
     * @param listener
     * @return
     */
    Call<BaseResponse> sendMissionProcessRequest( String missionId, OnServerResponseListener<MissionHandleE> listener);

    /**
     * 获取执法记录列表
     * @param mn
     * @param listener
     * @return
     */
    Call<BaseResponse> getLawRecordList(
            String mn,
            OnServerResponseListener<List<MissionE>> listener);
}
